The present invention relates to the field of network storage devices in general and in particular to accelerating and optimizing the creation of files on remote network storage devices.
Many organizations include users at two or more locations, such as branch offices. To facilitate cooperation by their users, improve efficiency, and reduce organizational costs, organizations may connect two or more local-area networks (LANs) at different locations with each other via a wide-area network (WAN), such as the internet or a private WAN. This enables users at different locations to share data and applications. This also allows resources such as applications servers and data storage at a single or small number of locations to serve users at many other network locations.
However, WAN performance bottlenecks create problems when connecting network locations via WANs. WANs typically have lower bandwidth and higher network latency than LANs. WAN bandwidth limits the performance of data intensive operations over a WAN and WAN latency limits the rate that consecutive dependent operations over a WAN can be processed. Both of these factors can dramatically reduce users' application performance when operating over a WAN.
WAN optimization devices optimize network traffic to improve WAN performance in reading and/or writing data over a network. A WAN optimization device typically monitors users' network traffic to attempt to predict data likely to be requested by users. This predicted data is prefetched over the WAN and cached by the WAN optimization devices at the users' respective network locations, so that this data can be quickly accessed by users if requested. WAN optimization devices also typically compress data for communication over the WAN. The WAN optimization devices' prefetching, caching, and compression masks the bandwidth and latency limitations of WANs from users.
WAN optimization devices may operate singly or in pairs at each side of a WAN connection to optimize network traffic. WAN optimization devices are referred to in the art by many different terms, including, but not limited to, transaction accelerators, WAN optimizers, WAN optimization controllers (WOCs), wide-area data services (WDS) appliances, WAN traffic optimizers (WTOs), and protocol accelerators or optimizers. Additionally, techniques for optimizing network traffic to improve network performance in reading and/or writing data over a network are referred to in the art by many different terms, including, but not limited to, WAN acceleration, transaction acceleration, transaction pipelining, protocol pipelining, request prediction, application flow acceleration, and protocol acceleration. Herein, the term “WAN optimization device” is used to refer to such devices and applications and “WAN optimization” is used to refer to such techniques.
File creation is one area where current WAN optimization devices do not improve performance over a WAN. For typical file systems, a storage client creates a new file by sending a request to the file server or other data storage device. The file server returns a file handle or other file access parameters to the storage client. The storage client can then send write requests including the file handle and the write data. The latency of the WAN typically limits the rate at which new files can be created by storage clients. Moreover, a storage client must wait for the file server to return a file handle for a new file before issuing any write commands to this file; otherwise, the write data may be lost. Thus, each file creation operation typically stalls an application's data output for a time period approximately equal to the round-trip latency of the WAN. For users and applications that rapidly create a large number of files, such a program compilers and linkers; and computer graphics, video, music, and other content creation systems, the performance degradation due to WAN latency in file creation can be substantial.